The method for coupling the snow-cover model and STICS was based on the method proposed by Trnka et al. (Trnka et al. 2010). The snow-cover model pre-processes the climate data in order to account for the influence of snow cover on soil temperature and water budget. Equations derived from the works of Bélanger et al. (Bélanger et al. 2002) were used for the calculation of snow accumulation. For snow melt and snow depth calculations, equations derived from Thorsen et al. (Thorsen, Roer, and Oijen 2010) were used. Model parametrization and validation under the Canadian climatic conditions is presented in Jégo et al. (Jego et al. 2014).
Snow accumulation was estimated using a set of equations that had previously been validated for several sites across Canada (Bélanger et al. 2002). Unlike in the original snowMAUS model proposed by Trnka et al. (Trnka et al. 2010), these equations use the daily maximum temperature to determine the partitioning between rainfall and snowfall. The form of precipitation is defined with two threshold temperatures:
Between these two thresholds, the model assumes a mix of rain and snow (Eq. 3).
The snow melt and snow depth were estimated using equations derived from the model proposed by Thorsen et al. (2010). In that model, the snow cover is calculated from precipitations amount (\(P\) in \(mm\)). It consists of water in solid state (\(S_{dry}\); in \(mm\), Eq. 4) and in liquid state (\(S_{wet}\); in \(mm\)) (Eq. 5).
The threshold temperature \(T_{mf}\) (in \(^oC\)) determines whether snow is in the process of melting (\(M\); in \(mm. d^{−1}\), Eq. 6) when the average daily air temperature \(T_{avg}\) is higher than \(T_{mf}\), or when liquid water within the snow cover is in the process of refreezing (\(M_{rf}\); in \(mm.d^{−1}\), Eq. 7).
The refreezing process is controlled by a degree-day temperature index (\(SW_{rf}\); in \(mm.^oC^{−1}.d^{−1}\)). The density of the new snow \(\rho ns\) (in \(kg.m^{−3}\)) is a parameter fixed by the user, while the density of the snow cover \(\rho s\) (in \(kg.m^{−3}\)) is calculated as the ratio between the snow water equivalent \(S_{WE}\) (\(S_{dry} + S_{wet}\); in \(mm\)) and the snow depth \(S_{depth}\) (in \(cm\), Eq. 8). The empirical compaction parameter \(\varepsilon\) (in \(mm.mm^{−1}.d^{−1}\)) was assumed to capture the combined effect of the metamorphosis of snow crystals and the densification of the lower snow layers. In order to account for the seasonal variation in incoming solar radiation and albedo, the melting rate \(K\) (in \(mm.^oC^{−1}.d^{−1}\)) is described with a sinusoidal function over a year period (\(t\); in \(d\)) with a minimum melting rate \(K_{min}\) on 21 December and a maximum rate \(K_{max}\) on 21 June (Eq. 9).
The method for coupling the snow-cover model and STICS was based on the method proposed by Trnka et al. (2010). The snow-cover model pre-processes the climate data in order to account for the influence of snow cover on soil temperature and water budget.
On days with snow cover above a user-defined threshold \(Sdepth_{threshold}\), the recalculated minimum temperature \(Tmin_{rec}\) is not allowed to drop below a certain value \(Tmin_{threshold}\) (in \(^oC\)), and the recalculated maximum temperature \(Tmax_{rec}\) is assumed to be equal to \(Tmax_{threshold}\) (Eq. 10). When the snow cover is between 0 and \(Sdepth_{threshold}\), a linear function is used to calculate the new temperatures \(Tmin_{rec}\) and \(Tmax_{rec}\). In this case, \(Tmin_{rec}\) varies linearly between \(Tmin\) and \(Tmin_{threshold}\), and \(Tmax_{rec}\) varies linearly between \(Tmax\) and \(Tmax_{threshold}\) (Eq. 11a,b). If the snow cover is equal to 0, then \(Tmin_{rec}\) and \(Tmax_{rec}\) are equal to the measured minimum and maximum air temperatures (Eq. 12).
The snow cover also influences the soil water budget. If both rainfall and snowfall occur, only the rain fraction enters into the model calculation. The water equivalent of the snowfall is assumed to recharge the soil profile only after melting (Bélanger et al. 2002).
The daily rain quantity \(P_{rec}\) is calculated relatively to the precipitations (rain and snow), and the snow cover depth variation (snow water equivalent) according to melting (\(S_{melt}(t)\)) or refreezing processes (\(Mrf\)) as follows (Eq. 13).
The Snow module is independent from Stics, so it doesn’t have access to Stics information. Stics provides to the Snow module its parameters, initializations, and meteorological data and stores outputs of snow module (daily, stats) in its climatic data structure.
If the module is activated, a message is written in the history file.
In addition, if it’s not activated, but temperatures and precipitations conditions are favorable to snow production, a message in the history file provides information about that.
The Snow module is called after 2 specific calculations if they are activated: meteorological conditions in altitude and under a shelter.
But, the Snow module calculations are of course only made if the climate under shelter is not required. Otherwise, the Snow module is not used.
A new option for activating the Snow module use has been added in the general parameters file (param_gen.xml), in the Simulation options block.
<option choix="1" nom="Snow activation" nomParam="codesnow">
<choix code="1" nom="yes"/>
<choix code="2" nom="no"/>
</option>
In the given file this option is activated by default (so codesnow is set to 1).
A new block for parameterizing the snow module has been created in the station file (*_sta.xml). Only one snow model has been implemented (described before), but an option has been set which currently contains one usable choice (3) . The 2 first ones are free and named *-Unused. Here is the corresponding xml code block
<formalisme nom="Climate with snow">
<option choix="3" nom="Select snow model" nomParam="codemodlsnow">
<choix code="1" nom="1-Unused"/>
<choix code="2" nom="2-Unused"/>
<choix code="3" nom="3-My only choice">
<param format="real" max="1.2" min="0.3" nom="tsmax">-2.</param>
<param format="real" max="100.0" min="0.01" nom="trmax">1.</param>
<param format="real" max="100.0" min="0.0" nom="DKmax">1.50000</param>
<param format="real" max="1.0" min="0.0010" nom="Kmin">2.</param>
<param format="real" max="0.01" min="0.0" nom="Tmf">0.5</param>
<param format="real" max="1.0" min="0.0010" nom="SWrf">0.01</param>
<param format="real" max="1.0" min="0.0010" nom="Pns">100.</param>
<param format="real" max="1.0" min="0.0010" nom="E">0.02</param>
<param format="real" max="1.0" min="0.0010" nom="prof">10.</param>
<param format="real" max="1.0" min="0.0010" nom="tminseuil">-0.5</param>
<param format="real" max="1.0" min="0.0010" nom="tmaxseuil">0.</param>
</choix>
</option>
</formalisme>
The station files must be modified by adding the block at the end as done in the given file example-with-snow_sta.xml (in the JavaStics doc/formalisms/snow folder). As for initialization files, no tool is available for adding lines in existing station files (will be provided later).
But, after adding the new block for snow parameters with model choice in a station file, it can be edited in JavaStics interface and modified, like other files which don’t contain a snow block. The old format files are still compatible.
The new parameters are defined as follows, min and max bounds are temporary (to be refined):
| Name | Definition | Unit | min. | max. |
|---|---|---|---|---|
| tsmax | maximum daily air temperature (tmax) below which all precipitation is assumed to be snow | degreeC | -1.0e+00 | -0.50 |
| trmax | tmax above which all precipitation is assumed to be rain | degreeC | 5.0e-01 | 1.50 |
| DKmax | difference between the maximum and the minimum melting rates | mm.degreeC.d-1 | 1.0e+00 | 2.00 |
| Kmin | minimum melting rate on 21 December | mm.degreeC.d-1 | 1.5e+00 | 2.50 |
| Tmf | threshold temperature for snow melting | degreeC | 0.0e+00 | 1.00 |
| SWrf | degree-day temperature index for refreezing | mm.degreeC.d-1 | 0.0e+00 | 0.01 |
| Pns | density of the new snow | kg.m-3 | 5.0e-06 | 100.00 |
| E | snow compaction parameter | mm.mm-1.d-1 | 0.0e+00 | 0.05 |
| prof | snow cover threshold for snow insulation | cm | 8.0e+00 | 12.00 |
| tminseuil | minimum temperature when snow cover is higher than prof | degreeC | -1.0e+00 | 0.00 |
| tmaxseuil | maximum temperature when snow cover is higher than prof | degreeC | -5.0e-01 | 0.50 |
If the specific xml snow block is missing in a station file, the parameters values are automacically set to zero when running the model. But, it is stopped by raising an error. A message is given in the history file (modhistory.sti) indicating that the parameters have not been initialized.
A new block named snow has been added to the initialization file (*_ini.xml):
<snow>
<SDepth>0.0</SDepth>
<Sdry>0.0</Sdry>
<Swet>0.0</Swet>
<ps>0.0</ps>
</snow>
For getting the possibility to set initial values of SDepth, Sdry, Swet and ps, because snow may exists at the simulation start, initialization files (*_ini.xml) must be modified by hand, by adding a new block snow as done in the file example-with-snow_ini.xml (in the JavaStics doc/formalisms/snow folder ). No tool is available for transforming old files. But, old files without the snow initialization block are still usable of course.
The variables are defined as below and must be defined when the initial snow depth is given:
| Name | Definition | Unit |
|---|---|---|
| Sdepth | snow cover depth | m |
| Sdry | water in solid state in the snow cover | mm |
| Swet | water in liquid state in the snow cover | mm |
| ps | density of snow cover | kg.m-3 |
Specific outputs from the Snow model have been added to the Stics available outputs, through the same mechanism as Stics outputs variables by writing them in the var.mod or selecting them in JavaStics interface.
| Name | Definition | Unit |
|---|---|---|
| Snowaccu(n) | daily snowfall accumulation (mm water equivalent) | mm.d-1 |
| Snowmelt(n) | daily snowmelt (mm water equivalent) | mm.d-1 |
| Sdepth(n) | daily snow cover depth | m |
| preciprec(n) | recalculated daily precipitation | mm.d-1 |
| tminrec(n) | recalculated daily minimum temperature | degreeC |
| tmaxrec(n) | recalculated daily maximum temperature | degreeC |
The use of the Snow module is indicated in the modhistory.sti file, parameters and initial variables values are listed
--------------------------------------------------------------------------------------
Using Snow module for recalculating temperatures and rainfall
--------------------------------------------------------------------------------------
Parameters
P_tsmax -2.00000000
P_trmax 1.00000000
P_DKmax 1.50000000
P_Kmin 2.00000000
P_Tmf 0.500000000
P_SWrf 9.99999978E-03
P_Pns 100.000000
P_E 1.99999996E-02
P_prof 10.0000000
P_tminseuil -0.500000000
P_tmaxseuil 0.00000000
Initializations
SDepth 0.00000000
Sdry 0.00000000
Swet 0.00000000
ps 0.00000000 If the parameters values are not set (all equal zero), a message specifying that parameterization is missing and indicates that the model stops with an error.
If the Snow module is not activated, but the meteorological conditions show that snow may be produced, a message is written in the history file telling the number of days with a snow depth over 3 cm and over 10 cm.
--------------------------------------------------------------------------------------
Snow module is not activated, but meteo conditions indicate that snow can be produced !
Year 1
Number of days with a snow depth over 3 cm : 148
Number of days with a snow depth over 10 cm : 138
--------------------------------------------------------------------------------------The Snow module inactivation is indicated in case of incompatibility (see climate under a shelter)
--------------------------------------------------------------------------------------
Climate under a shelter is activated, snow module have been desactivated !
--------------------------------------------------------------------------------------If the Snow module is used, a section is added to the balance file, specifying the number of days with a snow depth over 3 cm and over 10 cm.
--------------------------------------------------------------------------------------
Snow informations:
--------------------------------------------------------------------------------------
Year : 1
Number of days with a snow depth over 3 cm : 126
Number of days with a snow depth over 10 cm : 84
--------------------------------------------------------------------------------------
Figures of soil temperatures for the 3 layers defined in the loam_sableux soil (thickness: 15 cm, 15 cm and 70 cm). For year 2009 and 2010, daily soil temperatures and recalculated temperatures (with snow cover effect) are represented on the following plots. Measured soil temperatures have been added.
In this figure, we see that there is a continuous evolution of the snow depth between the 2 years. The model has been initialized properly, transmitting state variables from the 1st year the 2nd one.
For the second year, we see that the recalculated tmin, is stable near -0.5, while for independent runs, it is variable reaching much lower temperatures (for 20 days).
For the second year, we can make the same comments for recalculated tmax than for tmin.
Example of the effect of the presence or not of a snow cover on a winter wheat.
Bélanger, G, P Rochette, Y Castonguay, A Bootsma, D Mongrain, and DAJ Ryan. 2002. “Climate Change and Winter Survival of Perennial Forage Crops in Eastern Canada.” Article. AGRONOMY JOURNAL 94 (5). 677 S SEGOE RD, MADISON, WI 53711 USA: AMER SOC AGRONOMY: 1120–30.
Jego, G, M Chantigny, E Pattey, G Belanger, P Rochette, A Vanasse, and C Goyer. 2014. “Improved Snow-Cover Model for Multi-Annual Simulations with the Stics Crop Model Under Cold, Humid Continental Climates.” Article. AGRICULTURAL AND FOREST METEOROLOGY 195 (SEP 15). PO BOX 211, 1000 AE AMSTERDAM, NETHERLANDS: ELSEVIER SCIENCE BV: 38–51. doi:10.1016/j.agrformet.2014.05.002.
Thorsen, S M, A-G Roer, and M van Oijen. 2010. “Modelling the Dynamics of Snow Cover, Soil Frost and Surface Ice in Norwegian Grasslands.” Article; Proceedings Paper. POLAR RESEARCH 29 (1). COMMERCE PLACE, 350 MAIN ST, MALDEN 02148, MA USA: WILEY-BLACKWELL PUBLISHING, INC: 110–26. doi:10.1111/j.1751-8369.2010.00157.x.
Trnka, M, E Kocmankova, J Balek, J Eitzinger, F Ruget, H Formayer, P Hlavinka, et al. 2010. “Simple Snow Cover Model for Agrometeorological Applications.” Article. AGRICULTURAL AND FOREST METEOROLOGY 150 (7-8). PO BOX 211, 1000 AE AMSTERDAM, NETHERLANDS: ELSEVIER SCIENCE BV: 1115–27. doi:10.1016/j.agrformet.2010.04.012.